// /*
//  *@Author: 张楚
//  *@Date: 2021-08-03 14:33:55
//  *@Description: 自定义的搜索界面(使用getx写的)
// */
// import 'package:flutter/material.dart';
// import 'package:get/get.dart';

// const searchList = [
//   '1-我今天吃了一桶饭',
//   '2-我今天吃了一桶饭',
//   '3-我今天吃了一桶饭',
//   '5-我今天吃了一桶饭',
//   '4-我今天吃了一桶饭',
//   '3-我今天吃了一桶饭',
// ];

// const recentSuggest = [
//   '推荐1',
//   '推荐2',
// ];

// class SearchPage extends StatefulWidget {
//   const SearchPage({Key key}) : super(key: key);

//   @override
//   _SearchPageState createState() => _SearchPageState();
// }

// class _SearchPageState extends State<SearchPage> {
//   @override
//   Widget build(BuildContext context) {
//     return Scaffold(
//       appBar: AppBar(
//         title: Text('搜索'),
//         actions: [
//           IconButton(
//               icon: Icon(Icons.search),
//               onPressed: () {
//                 // Get.to(() => SearchNextPage());
//                 showSearch(context: context, delegate: SearchNextPage());
//               })
//         ],
//       ),
//     );
//   }
// }

// class SearchNextPage extends SearchDelegate<String> {
//   // const ({ Key key }) : super(key: key);

//   ///清空按钮
//   @override
//   List<Widget> buildActions(BuildContext context) {
//     return [
//       IconButton(icon: Icon(Icons.clear), onPressed: () => query = ''), //搜索值为空
//     ];
//   }

//   ///返回上级
//   @override
//   Widget buildLeading(BuildContext context) {
//     return IconButton(
//         icon: AnimatedIcon(
//           icon: AnimatedIcons.arrow_menu,
//           progress: transitionAnimation,
//         ),

//         ///点击时候关闭整个搜索页面
//         onPressed: () => close(context, null));
//   }

//   //搜到到内容后的展现
//   @override
//   Widget buildResults(BuildContext context) {
//     return Container(
//       width: 100,
//       height: 100,
//       child: Card(
//         color: Colors.redAccent,
//         child: Center(
//           child: Text(query),
//         ),
//       ),
//     );
//   }

//   //设置推荐
//   @override
//   Widget buildSuggestions(BuildContext context) {
//     final suggestionList = query.isEmpty
//         ? recentSuggest
//         : searchList.where((element) => element.startsWith(query)).toList();
//     return ListView.builder(
//         itemBuilder: (context, index) => ListTile(
//               title: RichText(
//                 text: TextSpan(
//                     text: suggestionList[index].substring(0, query.length),
//                     style: TextStyle(
//                         color: Colors.black, fontWeight: FontWeight.bold),
//                     children: [
//                       TextSpan(
//                           text: suggestionList[index].substring(query.length),
//                           style: TextStyle(color: Colors.grey))
//                     ]),
//               ),
//             ));
//   }
// }

// // class SearchNextPage extends SearchDelegate<String> {
// //   // const SearchNextPage({Key key}) : super(key: key);

// //   @override
// //   _SearchNextPageState createState() => _SearchNextPageState();
// // }

// // class _SearchNextPageState extends State<SearchNextPage> {
// //   @override
// //   Widget build(BuildContext context) {
// //     return Scaffold(
// //       appBar: AppBar(
// //         title: Text('ss'),
// //       ),
// //     );
// //   }
// // }

import 'package:flutter/material.dart';

const searchList = ['jiejie-大长腿', 'jiejie-水蛇腰', 'gege-帅气欧巴', 'gege-小鲜肉'];

const recentSuggest = [
  '推荐-1',
  '推荐-2',
];

class SearchBarDemo extends StatefulWidget {
  _SearchBarDemoState createState() => _SearchBarDemoState();
}

class _SearchBarDemoState extends State<SearchBarDemo> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('SearchBarDemo'),
        actions: <Widget>[
          IconButton(
            icon: Icon(Icons.search),
            onPressed: () {
              showSearch(context: context, delegate: SearchBarDelegate());
            },
          )
        ],
      ),
    );
  }
}

class SearchBarDelegate extends SearchDelegate<String> {
  //清空按钮
  @override
  List<Widget> buildActions(BuildContext context) {
    return [
      IconButton(
        icon: Icon(Icons.clear),
        onPressed: () => query = "", //搜索值为空
      )
    ];
  }

  //返回上级按钮
  @override
  Widget buildLeading(BuildContext context) {
    return IconButton(
        icon: AnimatedIcon(
            icon: AnimatedIcons.menu_arrow, progress: transitionAnimation),
        onPressed: () => close(context, null) //点击时关闭整个搜索页面
        );
  }

  //搜到到内容后的展现
  @override
  Widget buildResults(BuildContext context) {
    return Container(
      // width: 100.0,
      height: 50.0,
      child: Card(
        color: Colors.blue,
        child: Center(
          child: Text(query),
        ),
      ),
    );
  }

  //设置推荐
  @override
  Widget buildSuggestions(BuildContext context) {
    final suggestionsList = query.isEmpty
        ? recentSuggest
        : searchList.where((input) => input.startsWith(query)).toList();

    return ListView.builder(
      itemCount: suggestionsList.length,
      itemBuilder: (context, index) => ListTile(
        title: RichText(
          //富文本
          text: TextSpan(
              text: suggestionsList[index].substring(0, query.length),
              style:
                  TextStyle(color: Colors.black, fontWeight: FontWeight.bold),
              children: [
                TextSpan(
                    text: suggestionsList[index].substring(query.length),
                    style: TextStyle(color: Colors.grey))
              ]),
        ),
      ),
    );
  }
}
